Argument Value is Invalid (AVI)

Description:

AVI detects situations where an actual argument's value passed to a called method or an indexer is not valid. This will cause undesired program behavior such as throwing an exception.

Incorrect:

void scan(string str, int i) { 
    if (i < 0) { 
    	char c = str[i];
    	...
    }
}